package com.dxf.chepter08

import scala.collection.mutable.ArrayBuffer

/**
 *  scala集合介绍:
 *    1 scala同时支持不可变集合(线程安全)和可变集合
 *    2 主要包:
 *        scala.collection.immutable
 *        scala.collection.mutable
 *   3 scala默认采用不可变集合.对于几乎所有的集合类,scala都同时提供了可变mutable 和不可变 immutable的版本
 *   4 scala集合有三类, 序列Seq ,集Set.映射Map,所有集合都扩展自Iterable特质,在Scala中集合有可变mutable 和
 *   不可变immutable两种类型
 *
 *
 *
 *
 *
 *   不可变集合 :
 *
 *                            SortedSet -- TreeSet
 *                            HashSet
 *                  --Set --- BitSet
 *                            ListSet
 *
 *                            SortedMap   -- TreeMap
 *      Iterable    --Map --- HashMap
 *                            ListMap
 *                                                     Vector
 *                  --Seq  --- IndexedSeq(索引序列) --  NumericRange
 *                                                     Array(数组)
 *                                                     String
 *                                                     Range
 *
 *                                                     List
*                             LinearSeq(线性序列)  --   Stream            有头有尾
 *                                                     Queue(队列)
 *                                                     Stack(栈)
 *
 *
 *  可变集合,比不可变集合范围更大
 *
 *
 * =============================================================
 *
 *   Array 定长数组
 *
 *   ArrayBuff 变长数组
 *
 *    var arr2 = ArrayBuffer[Int]()
 *    arr2.append(7)
 *    arr2(0)=7
 *
 *
 *
 *
 */
object T80_定长数据和变长数组 {


  def main(args: Array[String]): Unit = {

    val array = new Array[Any](5)

    println(array.getClass)


    val buffer = new ArrayBuffer[Any]()
    buffer.append("1",2,5)//append 一个或者多个参数     -->    def append(elems: A*) { appendAll(elems) }
    println(buffer.hashCode())
   // buffer.append("3","1")
    println(buffer.hashCode())

    buffer.remove(0)
    buffer.foreach(println(_))


  }



}

